#!/bin/bash

# 合并文件列表脚本
# 用法：./merge_files.sh <文件列表> <目标文件>

# 检查参数数量
if [ $# -ne 2 ]; then
    echo "错误：参数不正确！"
    echo "用法：$0 <文件列表> <目标文件>"
    exit 1
fi

file_list="$1"
target_file="$2"

# 检查文件列表是否存在
if [ ! -f "$file_list" ]; then
    echo "错误：文件列表 '$file_list' 不存在"
    exit 1
fi

# 初始化目标文件
> "$target_file"  # 清空已有内容

# 读取文件列表并合并
while IFS= read -r file || [ -n "$file" ]; do
    # 跳过空行和注释行（以#开头）
    if [[ -z "$file" || "$file" == \#* ]]; then
        continue
    fi
    
    # 检查文件是否存在
    if [ -f "$file" ]; then
        cat -- "$file" >> "$target_file"
    else
        echo "警告：文件 '$file' 不存在，已跳过"
    fi
done < "$file_list"

echo "合并完成！结果已保存到：$target_file"

